De l’assurance qualité à l’assignation taxonomique
2025-10-21
Note
Le signal renvoyé par le laser est traduit en chromatographe pour chaque amplicon séquencé.
Source: LabXchange.org
Important
Le score est basé sur:
Les sortie du séquenceur Illumina
Exemple de nomenclature de fichier de sortie du séquenceur Illumina: sample1_1_L001_R1_001.fastq.gz
| Signification | Exemple | |
|---|---|---|
| sample1 | Identifiant de l’échantillon | sample1, sample2 |
| _1 | Numéro de réplicat | 1, 2, 3… |
| L001 | Numéro de ligne / lane: | L001-L008 |
| R1/R2 | Direction de lecture | R1=avant, R2=arrière |
| 001 | Segment de fichier | 001, 002… |
Note
Contient plusieurs lignes dont un ensemble de 4 lignes correspond à un amplicon.
system.file(package="ShortRead", "extdata/E-MTAB-1147/ERR127302_1_subset.fastq.gz") |>
gzfile() |>
readLines(n = 12) [1] "@ERR127302.8493430 HWI-EAS350_0441:1:34:16191:2123#0/1"
[2] "GTCTGCTGTATCTGTGTCGGCTGTCTCGCGGGACATGAAGTCAATGAAGGCCTGGAATGTCACTACCCCCAG"
[3] "+"
[4] "HHHHHHHHHHHHHHHHHHHHEBDBB?B:BBGG<DDAA?AABFEFBDBD@DDECEE3>:?;@@@>?=BAB?##"
[5] "@ERR127302.21406531 HWI-EAS350_0441:1:88:9330:2587#0/1"
[6] "CTAGGGCAATCTTTGCAGCAATGAATGCCAATGGGTAGCCAGTGGCTTTTGAGGCCAGAGCAGACCTTCGGG"
[7] "+"
[8] "IIIIHIIIGIIIIIIIHIIIIEGBGHIIIIHGIIHIIIIIIIHIIIHIIIIIGIIIEGIIGBGE@DDGGGIG"
[9] "@ERR127302.22173106 HWI-EAS350_0441:1:91:10434:14757#0/1"
[10] "TGGGCTGTTCCTTCTCACTGTGGCCTGACTAAAACCCAGTGGCATTAAGAAAGAGTCACGTTTCCCAAGTCT"
[11] "+"
[12] "GGHBHGBGGGHHHHDHHHHHHHHHFGHHHHHHHHHHHHHHHHHHHHHGHFHHHHHHHHHHHHHH8AGDGGG>"
system.file(package="ShortRead", "extdata/E-MTAB-1147/ERR127302_1_subset.fastq.gz") |>
gzfile() |>
readLines(n = 4)[1] "@ERR127302.8493430 HWI-EAS350_0441:1:34:16191:2123#0/1"
[2] "GTCTGCTGTATCTGTGTCGGCTGTCTCGCGGGACATGAAGTCAATGAAGGCCTGGAATGTCACTACCCCCAG"
[3] "+"
[4] "HHHHHHHHHHHHHHHHHHHHEBDBB?B:BBGG<DDAA?AABFEFBDBD@DDECEE3>:?;@@@>?=BAB?##"
@)+)Décomposition de l’identifiant
@SH00321:6:BWR98207-2813:1:1101:1065:1015 1:N:0:AACCATAGAA+GGCGAGATGG
Exemple de chaine de caractères donnant le score de qualité (1 caractère par nucléotide): GGGGGGGGGGGGGGGGGGGGGGGG9GG-G9G9G9GGGG
| Caractère ASCII | Score Phred | Taux d’erreur | Précision |
|---|---|---|---|
G |
38 | 0,016% | 99,984% |
9 |
24 | 0,40% | 99,60% |
- |
12 | 6,31% | 93,69% |
Tip
Règle générale : Q30 ou plus = haute qualité (99,9% de précision)
Les scores de qualité utilisent l’encodage ASCII.
Quality encoding: !"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHI
| | | | |
Quality score: 0........10........20........30........40
Avec R, comment convertir l’encodage ASCII en score de Phred et en probabilité d’obtenir une erreur (précision)?
# Convertir la chaîne de qualité en scores Phred
quality_string <- "GGGGGGG99GG-GGG"
quality_scores <- as.integer(charToRaw(quality_string)) - 33
# Afficher la correspondance
data.frame(
Caractere = strsplit(quality_string, "")[[1]],
Score_Phred = quality_scores,
Precision = paste0(round((10^(-quality_scores/10)) * 100, 2), "%")
) Caractere Score_Phred Precision
1 G 38 0.02%
2 G 38 0.02%
3 G 38 0.02%
4 G 38 0.02%
5 G 38 0.02%
6 G 38 0.02%
7 G 38 0.02%
8 9 24 0.4%
9 9 24 0.4%
10 G 38 0.02%
11 G 38 0.02%
12 - 12 6.31%
13 G 38 0.02%
14 G 38 0.02%
15 G 38 0.02%
[1] 20000
# Extraire les amplicons
sequences <- ShortRead::sread(fq)
# Extraire les identifiants
ids <- ShortRead::id(fq)
# Extraire les scores de qualité
qualities <- Biostrings::quality(fq)
# Premier identifiant et séquence
ids[1]BStringSet object of length 1:
width seq
[1] 53 ERR127302.8493430 HWI-EAS350_0441:1:34:16191:2123#0/1
DNAStringSet object of length 1:
width seq
[1] 72 GTCTGCTGTATCTGTGTCGGCTGTCTCGCGGGAC...GTCAATGAAGGCCTGGAATGTCACTACCCCCAG
Min. 1st Qu. Median Mean 3rd Qu. Max.
72 72 72 72 72 72
# Distribution des scores de qualité
qual_matrix <- as(qualities, "matrix")
mean_quality <- rowMeans(qual_matrix)
summary(mean_quality) Min. 1st Qu. Median Mean 3rd Qu. Max.
2.00 33.53 37.35 34.84 38.85 39.99
A C G T
[1,] 0.1944444 0.2638889 0.2916667 0.2500000
[2,] 0.2361111 0.2222222 0.3194444 0.2222222
[3,] 0.2361111 0.2638889 0.2222222 0.2777778
[4,] 0.2500000 0.2638889 0.1666667 0.3194444
RqcHakimzadeh et al, 2024
cut, sort, uniq etc. qui manipulent des chaînes de caractères ou des nombresfastq.gz avec la bonne nomenclature dans le dossierTest
Aller chercher la base de données NCBI pour les primers COI
BARQUE requière plusieurs programmes qui ne sont pas tous compatibles avec l’environnement Windows
Hakimzadeh et al, 2024
Mettre un schéma
–
Comment le séquencage est effectué?